﻿using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Three.BookStore.ProductionSystem.ShiftManagement.Dtos;
using Volo.Abp.Application.Services;

namespace Three.BookStore.ProductionSystem.ShiftManagement
{
    public interface IHolidaySettingServices : IApplicationService
    {
        /// <summary>
        /// 获取指定日期范围的节假日设置
        /// </summary>
        Task<List<HolidaySettingDto>> GetHolidaySettingsAsync(DateTime startDate, DateTime endDate);

        /// <summary>
        /// 获取指定日期的节假日设置
        /// </summary>
        Task<HolidaySettingDto> GetHolidaySettingByDateAsync(DateTime date);

        /// <summary>
        /// 创建或更新节假日设置
        /// </summary>
        Task<HolidaySettingDto> CreateOrUpdateAsync(CreateOrUpdateHolidaySettingDto input);

        /// <summary>
        /// 删除节假日设置
        /// </summary>
        Task DeleteAsync(int id);

        /// <summary>
        /// 删除指定日期的节假日设置
        /// </summary>
        Task DeleteByDateAsync(DateTime date);
    }
}
